package atguigu.thread;

import java.util.concurrent.CountDownLatch;

public class VolatileDemo  {

	static volatile boolean b = false;

	public static void main(String[] args) {

		CountDownLatch cd = new CountDownLatch(1);
		
		// 开启线程
		new Thread(()->{
			b = true;
			cd.countDown();
		}, "A").start();
		
		// 让主线程等待，等待工作线程中的值被写回到主内存中
		try {
			cd.await();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		
		// 主线程 : 本意是线程已经修改了b为true，但实际是，主内存中的b 仍然是false
		if(b) {
			System.out.println("=================>");
		}else {
			System.out.println("------------------>");
		}
		
	}

}
